from custom_func.crypt_func import *
from custom_func.sign_func import *

# 加密算法配置
encrypt = [{'name': 'AES(ECB)_TO_string', 'function': aes_encode_to_string, 'mode': 'ECB',
            'comment': 'AES加密并编码成字符串, ECB模式'},
           {'name': 'AES(CBC)_TO_string', 'function': aes_encode_to_string, 'mode': 'CBC',
            'comment': 'AES加密并编码成字符串, CBC模式'},
           {'name': 'AES(ECB)_TO_base64', 'function': aes_encode_to_b64, 'mode': 'ECB',
            'comment': 'AES加密并进行base64编码, ECB模式'},
           {'name': 'AES(CBC)_TO_base64', 'function': aes_encode_to_b64, 'mode': 'CBC',
            'comment': 'AES加密并进行base64编码, CBC模式'},
           {'name': 'AES(ECB)_TO_base64_URLEncode', 'function': aes_encode_to_b64_url_encode,
            'mode': 'ECB', 'comment': 'AES加密并进行base64编码后再URLEncode, ECB模式'},
           {'name': 'AES(CBC)_TO_base64_URLEncode', 'function': aes_encode_to_b64_url_encode,
            'mode': 'CBC', 'comment': 'AES加密并进行base64编码后再URLEncode, CBC模式'},
           {'name': 'DES(ECB)_TO_base64', 'function': des_encode_to_b64, 'mode': 'ECB',
            'comment': 'DES加密并进行base64编码, ECB模式'},
           {'name': 'DES(CBC)_TO_base64', 'function': des_encode_to_b64, 'mode': 'CBC',
            'comment': 'DES加密并进行base64编码, CBC模式'},
           {'name': 'DES(ECB)_TO_base64_URLEncode', 'function': des_encode_to_b64_url_encode,
            'mode': 'ECB', 'comment': 'DES加密并进行base64编码后再URLEncode, ECB模式'},
           {'name': 'DES(CBC)_TO_base64_URLEncode', 'function': des_encode_to_b64_url_encode,
            'mode': 'CBC', 'comment': 'DES加密并进行base64编码后再URLEncode, CBC模式'},
           {'name': 'DES3(ECB)_TO_base64', 'function': des3_encode_to_b64, 'mode': 'ECB',
            'comment': 'DES3加密并进行base64编码, ECB模式'},
           {'name': 'DES3(CBC)_TO_base64', 'function': des3_encode_to_b64, 'mode': 'CBC',
            'comment': 'DES3加密并进行base64编码, CBC模式'},
           {'name': 'DES3(ECB)_TO_base64_URLEncode', 'function': des3_encode_to_b64_url_encode,
            'mode': 'ECB', 'comment': 'DES3加密并进行base64编码后再URLEncode, ECB模式'},
           {'name': 'DES3(CBC)_TO_base64_URLEncode', 'function': des3_encode_to_b64_url_encode,
            'mode': 'CBC', 'comment': 'DES3加密并进行base64编码后再URLEncode, CBC模式'},
           {'name': 'RSA_TO_base64', 'function': rsa_encode_to_b64,
            'mode': '200', 'comment': 'RSA加密并进行base64编码'}]

# 解密算法配置
decrypt = [{'name': 'AES(ECB)_FROM_string', 'function': aes_decode_from_string, 'mode': 'ECB',
            'comment': 'AES加密并编码成字符串对应解密方法, ECB模式'},
           {'name': 'AES(CBC)_FROM_string', 'function': aes_decode_from_string, 'mode': 'CBC',
            'comment': 'AES加密并编码成字符串对应解密方法, CBC模式'},
           {'name': 'AES(ECB)_FROM_base64', 'function': aes_decode_from_b64, 'mode': 'ECB',
            'comment': 'AES加密并进行base64编码对应解密方法, ECB模式'},
           {'name': 'AES(CBC)_FROM_base64', 'function': aes_decode_from_b64, 'mode': 'CBC',
            'comment': 'AES加密并进行base64编码对应解密方法, CBC模式'},
           {'name': 'AES(ECB)_FROM_base64_URLEncode', 'function': aes_decode_from_b64_url_encode,
            'mode': 'ECB', 'comment': 'AES加密并进行base64编码后再URLEncode对应解密方法, ECB模式'},
           {'name': 'AES(CBC)_FROM_base64_URLEncode', 'function': aes_decode_from_b64_url_encode,
            'mode': 'CBC', 'comment': 'AES加密并进行base64编码后再URLEncode对应解密方法, CBC模式'},
           {'name': 'DES(ECB)_FROM_base64', 'function': des_decode_from_b64, 'mode': 'ECB',
            'comment': 'DES加密并进行base64编码对应解密方法, ECB模式'},
           {'name': 'DES(CBC)_FROM_base64', 'function': des_decode_from_b64, 'mode': 'CBC',
            'comment': 'DES加密并进行base64编码对应解密方法, CBC模式'},
           {'name': 'DES(ECB)_FROM_base64_URLEncode', 'function': des_decode_from_b64_url_encode,
            'mode': 'ECB', 'comment': 'DES加密并进行base64编码后再URLEncode对应解密方法, ECB模式'},
           {'name': 'DES(CBC)_FROM_base64_URLEncode', 'function': des_decode_from_b64_url_encode,
            'mode': 'CBC', 'comment': 'DES加密并进行base64编码后再URLEncode对应解密方法, CBC模式'},
           {'name': 'DES3(ECB)_FROM_base64', 'function': des3_decode_from_b64, 'mode': 'ECB',
            'comment': 'DES3加密并进行base64编码对应解密方法, ECB模式'},
           {'name': 'DES3(CBC)_FROM_base64', 'function': des3_decode_from_b64, 'mode': 'CBC',
            'comment': 'DES3加密并进行base64编码对应解密方法, CBC模式'},
           {'name': 'DES3(ECB)_FROM_base64_URLEncode', 'function': des3_decode_from_b64_url_encode,
            'mode': 'ECB', 'comment': 'DES3加密并进行base64编码后再URLEncode对应解密方法, ECB模式'},
           {'name': 'DES3(CBC)_FROM_base64_URLEncode', 'function': des3_decode_from_b64_url_encode,
            'mode': 'CBC', 'comment': 'DES3加密并进行base64编码后再URLEncode对应解密方法, CBC模式'},
           {'name': 'RSA_FROM_base64', 'function': rsa_decode_from_b64,
            'mode': '256', 'comment': 'RSA加密并进行base64编码对应解密方法'}]

# 自定义方法配置
customs_func = [
                {'name': 'public_md5_sign_one', 'function': public_md5_sign_one, 'comment': '通用加签方式一, 格式: p1v1p2p2p3v3signKey'},
                {'name': 'public_md5_sign_two', 'function': public_md5_sign_two, 'comment': '通用加签方式二, 格式: signKeyp1v1p2p2p3v3'},
                {'name': 'public_md5_sign_three', 'function': public_md5_sign_three, 'comment': '通用加签方式三, 格式: signKeyp1v1p2p2p3v3signKey'}
                ]
